var myChart = echarts.init(document.getElementById('main'));

var option = {
	title : {
		text : '全国地图',
		subtext : 'china'
	},
	tooltip : {
		trigger : 'item',
		formatter : '{b}'
	},
	series : [ {
		name : '随机数据',
		type : 'map',
		mapType : 'china',
		selectedMode : 'single',
		itemStyle : {
			normal : {
				label : {
					show : true
				}
			},
			emphasis : {
				label : {
					show : true
				}
			}
		},
		data : [],
		markPoint : {
			symbol : 'emptyCircle',
			symbolSize : function(v) {
				return 10 + v / 100
			},
			effect : {
				show : true,
				shadowBlur : 0
			},
			itemStyle : {
				normal : {
					label : {
						show : false
					}
				}
			},
			data : []
		},
		geoCoord : {
			"海门" : [ 121.15, 31.89 ],
			"鄂尔多斯" : [ 109.781327, 39.608266 ],
			"招远" : [ 120.38, 37.35 ],
			"舟山" : [ 122.207216, 29.985295 ],
			"齐齐哈尔" : [ 123.97, 47.33 ],
			"盐城" : [ 120.13, 33.38 ],
			"赤峰" : [ 118.87, 42.28 ],
			"青岛" : [ 120.33, 36.07 ],
			"乳山" : [ 121.52, 36.89 ],
			"金昌" : [ 102.188043, 38.520089 ],
			"泉州" : [ 118.58, 24.93 ],
			"莱西" : [ 120.53, 36.86 ],
			"日照" : [ 119.46, 35.42 ],
			"胶南" : [ 119.97, 35.88 ],
			"南通" : [ 121.05, 32.08 ],
			"拉萨" : [ 91.11, 29.97 ],
			"云浮" : [ 112.02, 22.93 ],
			"梅州" : [ 116.1, 24.55 ],
			"文登" : [ 122.05, 37.2 ],
			"上海" : [ 121.48, 31.22 ],
			"攀枝花" : [ 101.718637, 26.582347 ],
			"威海" : [ 122.1, 37.5 ],
			"承德" : [ 117.93, 40.97 ],
			"厦门" : [ 118.1, 24.46 ],
			"汕尾" : [ 115.375279, 22.786211 ],
			"潮州" : [ 116.63, 23.68 ],
			"丹东" : [ 124.37, 40.13 ],
			"太仓" : [ 121.1, 31.45 ],
			"曲靖" : [ 103.79, 25.51 ],
			"烟台" : [ 121.39, 37.52 ],
			"福州" : [ 119.3, 26.08 ],
			"瓦房店" : [ 121.979603, 39.627114 ],
			"即墨" : [ 120.45, 36.38 ],
			"抚顺" : [ 123.97, 41.97 ],
			"玉溪" : [ 102.52, 24.35 ],
			"张家口" : [ 114.87, 40.82 ],
			"阳泉" : [ 113.57, 37.85 ],
			"莱州" : [ 119.942327, 37.177017 ],
			"湖州" : [ 120.1, 30.86 ],
			"汕头" : [ 116.69, 23.39 ],
			"昆山" : [ 120.95, 31.39 ],
			"宁波" : [ 121.56, 29.86 ],
			"湛江" : [ 110.359377, 21.270708 ],
			"揭阳" : [ 116.35, 23.55 ],
			"荣成" : [ 122.41, 37.16 ],
			"连云港" : [ 119.16, 34.59 ],
			"葫芦岛" : [ 120.836932, 40.711052 ],
			"常熟" : [ 120.74, 31.64 ],
			"东莞" : [ 113.75, 23.04 ],
			"河源" : [ 114.68, 23.73 ],
			"淮安" : [ 119.15, 33.5 ],
			"泰州" : [ 119.9, 32.49 ],
			"南宁" : [ 108.33, 22.84 ],
			"营口" : [ 122.18, 40.65 ],
			"惠州" : [ 114.4, 23.09 ],
			"江阴" : [ 120.26, 31.91 ],
			"蓬莱" : [ 120.75, 37.8 ],
			"韶关" : [ 113.62, 24.84 ],
			"嘉峪关" : [ 98.289152, 39.77313 ],
			"广州" : [ 113.23, 23.16 ],
			"延安" : [ 109.47, 36.6 ],
			"太原" : [ 112.53, 37.87 ],
			"清远" : [ 113.01, 23.7 ],
			"中山" : [ 113.38, 22.52 ],
			"昆明" : [ 102.73, 25.04 ],
			"寿光" : [ 118.73, 36.86 ],
			"盘锦" : [ 122.070714, 41.119997 ],
			"长治" : [ 113.08, 36.18 ],
			"深圳" : [ 114.07, 22.62 ],
			"珠海" : [ 113.52, 22.3 ],
			"宿迁" : [ 118.3, 33.96 ],
			"咸阳" : [ 108.72, 34.36 ],
			"铜川" : [ 109.11, 35.09 ],
			"平度" : [ 119.97, 36.77 ],
			"佛山" : [ 113.11, 23.05 ],
			"海口" : [ 110.35, 20.02 ],
			"江门" : [ 113.06, 22.61 ],
			"章丘" : [ 117.53, 36.72 ],
			"肇庆" : [ 112.44, 23.05 ],
			"大连" : [ 121.62, 38.92 ],
			"临汾" : [ 111.5, 36.08 ],
			"吴江" : [ 120.63, 31.16 ],
			"石嘴山" : [ 106.39, 39.04 ],
			"沈阳" : [ 123.38, 41.8 ],
			"苏州" : [ 120.62, 31.32 ],
			"茂名" : [ 110.88, 21.68 ],
			"嘉兴" : [ 120.76, 30.77 ],
			"长春" : [ 125.35, 43.88 ],
			"胶州" : [ 120.03336, 36.264622 ],
			"银川" : [ 106.27, 38.47 ],
			"张家港" : [ 120.555821, 31.875428 ],
			"三门峡" : [ 111.19, 34.76 ],
			"锦州" : [ 121.15, 41.13 ],
			"南昌" : [ 115.89, 28.68 ],
			"柳州" : [ 109.4, 24.33 ],
			"三亚" : [ 109.511909, 18.252847 ],
			"自贡" : [ 104.778442, 29.33903 ],
			"吉林" : [ 126.57, 43.87 ],
			"阳江" : [ 111.95, 21.85 ],
			"泸州" : [ 105.39, 28.91 ],
			"西宁" : [ 101.74, 36.56 ],
			"宜宾" : [ 104.56, 29.77 ],
			"呼和浩特" : [ 111.65, 40.82 ],
			"成都" : [ 104.06, 30.67 ],
			"大同" : [ 113.3, 40.12 ],
			"镇江" : [ 119.44, 32.2 ],
			"桂林" : [ 110.28, 25.29 ],
			"张家界" : [ 110.479191, 29.117096 ],
			"宜兴" : [ 119.82, 31.36 ],
			"北海" : [ 109.12, 21.49 ],
			"西安" : [ 108.95, 34.27 ],
			"金坛" : [ 119.56, 31.74 ],
			"东营" : [ 118.49, 37.46 ],
			"牡丹江" : [ 129.58, 44.6 ],
			"遵义" : [ 106.9, 27.7 ],
			"绍兴" : [ 120.58, 30.01 ],
			"扬州" : [ 119.42, 32.39 ],
			"常州" : [ 119.95, 31.79 ],
			"潍坊" : [ 119.1, 36.62 ],
			"重庆" : [ 106.54, 29.59 ],
			"台州" : [ 121.420757, 28.656386 ],
			"南京" : [ 118.78, 32.04 ],
			"滨州" : [ 118.03, 37.36 ],
			"贵阳" : [ 106.71, 26.57 ],
			"无锡" : [ 120.29, 31.59 ],
			"本溪" : [ 123.73, 41.3 ],
			"克拉玛依" : [ 84.77, 45.59 ],
			"渭南" : [ 109.5, 34.52 ],
			"马鞍山" : [ 118.48, 31.56 ],
			"宝鸡" : [ 107.15, 34.38 ],
			"焦作" : [ 113.21, 35.24 ],
			"句容" : [ 119.16, 31.95 ],
			"北京" : [ 116.46, 39.92 ],
			"徐州" : [ 117.2, 34.26 ],
			"衡水" : [ 115.72, 37.72 ],
			"包头" : [ 110, 40.58 ],
			"绵阳" : [ 104.73, 31.48 ],
			"乌鲁木齐" : [ 87.68, 43.77 ],
			"枣庄" : [ 117.57, 34.86 ],
			"杭州" : [ 120.19, 30.26 ],
			"淄博" : [ 118.05, 36.78 ],
			"鞍山" : [ 122.85, 41.12 ],
			"溧阳" : [ 119.48, 31.43 ],
			"库尔勒" : [ 86.06, 41.68 ],
			"安阳" : [ 114.35, 36.1 ],
			"开封" : [ 114.35, 34.79 ],
			"济南" : [ 117, 36.65 ],
			"德阳" : [ 104.37, 31.13 ],
			"温州" : [ 120.65, 28.01 ],
			"九江" : [ 115.97, 29.71 ],
			"邯郸" : [ 114.47, 36.6 ],
			"临安" : [ 119.72, 30.23 ],
			"兰州" : [ 103.73, 36.03 ],
			"沧州" : [ 116.83, 38.33 ],
			"临沂" : [ 118.35, 35.05 ],
			"南充" : [ 106.110698, 30.837793 ],
			"天津" : [ 117.2, 39.13 ],
			"富阳" : [ 119.95, 30.07 ],
			"泰安" : [ 117.13, 36.18 ],
			"诸暨" : [ 120.23, 29.71 ],
			"郑州" : [ 113.65, 34.76 ],
			"哈尔滨" : [ 126.63, 45.75 ],
			"聊城" : [ 115.97, 36.45 ],
			"芜湖" : [ 118.38, 31.33 ],
			"唐山" : [ 118.02, 39.63 ],
			"平顶山" : [ 113.29, 33.75 ],
			"邢台" : [ 114.48, 37.05 ],
			"德州" : [ 116.29, 37.45 ],
			"济宁" : [ 116.59, 35.38 ],
			"荆州" : [ 112.239741, 30.335165 ],
			"宜昌" : [ 111.3, 30.7 ],
			"义乌" : [ 120.06, 29.32 ],
			"丽水" : [ 119.92, 28.45 ],
			"洛阳" : [ 112.44, 34.7 ],
			"秦皇岛" : [ 119.57, 39.95 ],
			"株洲" : [ 113.16, 27.83 ],
			"石家庄" : [ 114.48, 38.03 ],
			"莱芜" : [ 117.67, 36.19 ],
			"常德" : [ 111.69, 29.05 ],
			"保定" : [ 115.48, 38.85 ],
			"湘潭" : [ 112.91, 27.87 ],
			"金华" : [ 119.64, 29.12 ],
			"岳阳" : [ 113.09, 29.37 ],
			"长沙" : [ 113, 28.21 ],
			"衢州" : [ 118.88, 28.97 ],
			"廊坊" : [ 116.7, 39.53 ],
			"菏泽" : [ 115.480656, 35.23375 ],
			"合肥" : [ 117.27, 31.86 ],
			"武汉" : [ 114.31, 30.52 ],
			"大庆" : [ 125.03, 46.58 ]
		}
	} ]
};

var mapType = [ 'china',
// 23个省
'广东', '青海', '四川', '海南', '陕西', '甘肃', '云南', '湖南', '湖北', '黑龙江', '贵州', '山东', '江西', '河南', '河北', '山西', '安徽', '福建', '浙江', '江苏', '吉林', '辽宁', '台湾',
// 5个自治区
'新疆', '广西', '宁夏', '内蒙古', '西藏',
// 4个直辖市
'北京', '天津', '上海', '重庆',
// 2个特别行政区
'香港', '澳门' ];

var mtQueue = [];
var currentMt = 'china';

var mapGeoData = echarts.util.mapData.params;
var ecConfig = echarts.config;

myChart.on(ecConfig.EVENT.MAP_SELECTED, function(param) {
	var mt = param.target;
	if (mt == currentMt) {
		return;
	}
	if (mt in mapGeoData.params) {
		mtQueue.push(currentMt);
		gotoMt(mt);
	}
	console.log(param);
});

var gotoMt = function(mt) {
	var series = option.series[0];

	option.title.text = mt == 'china' ? '全国地图' : mt;
	option.title.subtext = mt;
	series.mapType = mt;
	series.markPoint.data = [];
	currentMt = mt

	if (mt == '河北') {
		series.markPoint.data = [ {
			name : "廊坊",
			value : 193
		} ];
	} else if (mt == '河南') {
		series.markPoint.data = [ {
			name : "开封",
			value : 193
		} ];
	}

	myChart.setOption(option, true);
	myChart.refresh();
}

document.addEventListener('keydown', function(e) {
	e.which == 27 && gotoMt(mtQueue.pop() || 'china');
}, false);

//自定义扩展图表类型
if (window.$) {
	(function() {
		var cityNames = [ "北京市", "天津市", "上海市", "重庆市", "崇明县", "湖北省直辖县市", "铜仁市", "毕节市", "石家庄市", "唐山市", "秦皇岛市", "邯郸市", "邢台市", "保定市", "张家口市", "承德市", "沧州市", "廊坊市", "衡水市", "太原市", "大同市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "忻州市", "临汾市", "吕梁市",
				"呼和浩特市", "包头市", "乌海市", "赤峰市", "通辽市", "鄂尔多斯市", "呼伦贝尔市", "巴彦淖尔市", "乌兰察布市", "兴安盟", "锡林郭勒盟", "阿拉善盟", "沈阳市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "盘锦市", "铁岭市", "朝阳市", "葫芦岛市", "长春市", "吉林市", "四平市", "辽源市", "通化市",
				"白山市", "松原市", "白城市", "延边朝鲜族自治州", "哈尔滨市", "齐齐哈尔市", "鸡西市", "鹤岗市", "双鸭山市", "大庆市", "伊春市", "佳木斯市", "七台河市", "牡丹江市", "黑河市", "绥化市", "大兴安岭地区", "南京市", "无锡市", "徐州市", "常州市", "苏州市", "南通市", "连云港市", "淮安市", "盐城市", "扬州市", "镇江市", "泰州市", "宿迁市", "杭州市",
				"宁波市", "温州市", "嘉兴市", "湖州市", "绍兴市", "金华市", "衢州市", "舟山市", "台州市", "丽水市", "合肥市", "芜湖市", "蚌埠市", "淮南市", "马鞍山市", "淮北市", "铜陵市", "安庆市", "黄山市", "滁州市", "阜阳市", "宿州市", "六安市", "亳州市", "池州市", "宣城市", "福州市", "厦门市", "莆田市", "三明市", "泉州市", "漳州市", "南平市",
				"龙岩市", "宁德市", "南昌市", "景德镇市", "萍乡市", "九江市", "新余市", "鹰潭市", "赣州市", "吉安市", "宜春市", "抚州市", "上饶市", "济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "潍坊市", "济宁市", "泰安市", "威海市", "日照市", "莱芜市", "临沂市", "德州市", "聊城市", "滨州市", "菏泽市", "郑州市", "开封市", "洛阳市",
				"平顶山市", "安阳市", "鹤壁市", "新乡市", "焦作市", "濮阳市", "许昌市", "漯河市", "三门峡市", "南阳市", "商丘市", "信阳市", "周口市", "驻马店市", "省直辖县级行政区划", "武汉市", "黄石市", "十堰市", "宜昌市", "襄阳市", "鄂州市", "荆门市", "孝感市", "荆州市", "黄冈市", "咸宁市", "随州市", "恩施土家族苗族自治州", "长沙市", "株洲市", "湘潭市",
				"衡阳市", "邵阳市", "岳阳市", "常德市", "张家界市", "益阳市", "郴州市", "永州市", "怀化市", "娄底市", "湘西土家族苗族自治州", "广州市", "韶关市", "深圳市", "珠海市", "汕头市", "佛山市", "江门市", "湛江市", "茂名市", "肇庆市", "惠州市", "梅州市", "汕尾市", "河源市", "阳江市", "清远市", "东莞市", "中山市", "潮州市", "揭阳市", "云浮市",
				"南宁市", "柳州市", "桂林市", "梧州市", "北海市", "防城港市", "钦州市", "贵港市", "玉林市", "百色市", "贺州市", "河池市", "来宾市", "崇左市", "海口市", "三亚市", "三沙市", "成都市", "自贡市", "攀枝花市", "泸州市", "德阳市", "绵阳市", "广元市", "遂宁市", "内江市", "乐山市", "南充市", "眉山市", "宜宾市", "广安市", "达州市", "雅安市",
				"巴中市", "资阳市", "阿坝藏族羌族自治州", "甘孜藏族自治州", "凉山彝族自治州", "贵阳市", "六盘水市", "遵义市", "安顺市", "黔西南布依族苗族自治州", "黔东南苗族侗族自治州", "黔南布依族苗族自治州", "昆明市", "曲靖市", "玉溪市", "保山市", "昭通市", "丽江市", "普洱市", "临沧市", "楚雄彝族自治州", "红河哈尼族彝族自治州", "文山壮族苗族自治州", "西双版纳傣族自治州",
				"大理白族自治州", "德宏傣族景颇族自治州", "怒江傈僳族自治州", "迪庆藏族自治州", "拉萨市", "昌都地区", "山南地区", "日喀则地区", "那曲地区", "阿里地区", "林芝地区", "西安市", "铜川市", "宝鸡市", "咸阳市", "渭南市", "延安市", "汉中市", "榆林市", "安康市", "商洛市", "兰州市", "嘉峪关市", "金昌市", "白银市", "天水市", "武威市", "张掖市", "平凉市",
				"酒泉市", "庆阳市", "定西市", "陇南市", "临夏回族自治州", "甘南藏族自治州", "西宁市", "海东地区", "海北藏族自治州", "黄南藏族自治州", "海南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族藏族自治州", "银川市", "石嘴山市", "吴忠市", "固原市", "中卫市", "乌鲁木齐市", "克拉玛依市", "吐鲁番地区", "哈密地区", "昌吉回族自治州", "博尔塔拉蒙古自治州",
				"巴音郭楞蒙古自治州", "阿克苏地区", "克孜勒苏柯尔克孜自治州", "喀什地区", "和田地区", "伊犁哈萨克自治州", "塔城地区", "阿勒泰地区", "自治区直辖县级行政区划", "台湾省", "香港特别行政区", "澳门特别行政区" ];
		//console.log(mapGeoData);
		$.each(cityNames, function(i, cityName) {
			mapGeoData.params[cityName] = {
				getGeoJson : function(callback) {
					console.log(cityName);
					$.getJSON('geoJson/china-main-city/' + encodeURI(cityName) + '.json', callback);
				}
			};
		});
	})();
}

myChart.setOption(option);

window.onresize = myChart.resize;